home *** CD-ROM | disk | FTP | other *** search
- #!/bin/sh
- #
- # Product setup script - Loki Entertainment Software
-
- # Go to the proper setup directory (if not already there)
- cd `dirname $0`
-
- # Return the appropriate architecture string
- DetectARCH()
- {
- status=1
- case `uname -m` in
- i?86) echo "x86"
- status=0;;
- *) echo "`uname -m`"
- status=0;;
- esac
- return $status
- }
-
- # Return the appropriate version string
- DetectLIBC()
- {
- status=1
- if [ `uname -s` != Linux ]; then
- echo "glibc-2.1"
- return $status
- fi
- if [ -f `echo /lib/libc.so.6* | tail -1` ]; then
- if fgrep GLIBC_2.1 /lib/libc.so.6* 2>&1 >/dev/null; then
- echo "glibc-2.1"
- status=0
- else
- echo "glibc-2.0"
- status=0
- fi
- elif [ -f /lib/libc.so.5 ]; then
- echo "libc5"
- status=0
- else
- echo "unknown"
- fi
- return $status
- }
-
- # Detect the Linux environment
- arch=`DetectARCH`
- libc=`DetectLIBC`
- os=`uname -s`
-
- # Find the installation program
- try_run()
- {
- setup=$1
- shift
- fatal=$1
- if [ "$1" != "" ]; then
- shift
- fi
-
- # First find the binary we want to run
- failed=0
- setup_bin="setup.data/bin/$os/$arch/$libc/$setup"
- if [ ! -f "$setup_bin" ]; then
- setup_bin="setup.data/bin/$os/$arch/$setup"
- if [ ! -f "$setup_bin" ]; then
- failed=1
- fi
- fi
- if [ "$failed" -eq 1 ]; then
- if [ "$fatal" != "" ]; then
- cat <<__EOF__
- This installation doesn't support $libc on $os / $arch
-
- Please contact Loki Technical Support at support@lokigames.com
- __EOF__
- exit 1
- fi
- return $failed
- fi
-
- # Try to run the binary
- # The executable is here but we can't execute it from CD
- setup="$HOME/.setup$$"
- cp "$setup_bin" "$setup"
- chmod 700 "$setup"
- if [ "$fatal" != "" ]; then
- "$setup" $*
- failed=$?
- else
- "$setup" $* 2>/dev/null
- failed=$?
- fi
- rm -f "$setup"
- return $failed
- }
-
-
- # Try to run the setup program
- status=0
- rm -f "$setup"
- try_run setup.gtk $* || try_run setup $* -fatal || {
- echo "The setup program seems to have failed on $arch/$libc"
- echo
- echo "Please contact Sunspire Studios Technical Support at support@sunspirestudios.com"
- status=1
- }
- exit $status
-